package com.zp.base.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zp.common.excel.annotation.ExcelDictFormat;
import com.zp.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 价表操作记录视图对象
 *
 * @author zhang peng
 * @date 2023-01-07
 */
@Data
@ExcelIgnoreUnannotated
public class PriceListLogVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private String priceLogId;

    /**
     * 项目分类
     */
    @ExcelProperty(value = "项目分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "bill_item_class_dict")
    private String itemClass;

    /**
     * 项目代码
     */
    @ExcelProperty(value = "项目代码")
    private String itemCode;

    /**
     * 项目名称
     */
    @ExcelProperty(value = "项目名称")
    private String itemName;

    /**
     * 医保类型
     */
    @ExcelProperty(value = "医保类型")
    private String medicalInsuranceType;

    /**
     * 项目规格
     */
    @ExcelProperty(value = "项目规格")
    private String itemSpec;

    /**
     * 单位
     */
    @ExcelProperty(value = "单位")
    private String units;

    /**
     * 网络价格
     */
    @ExcelProperty(value = "网络价格")
    private BigDecimal networkPrice;

    /**
     * 批发价格
     */
    @ExcelProperty(value = "批发价格")
    private BigDecimal tradePrice;

    /**
     * 价格
     */
    @ExcelProperty(value = "价格")
    private BigDecimal price;

    /**
     * 优惠价格
     */
    @ExcelProperty(value = "优惠价格")
    private BigDecimal preferPrice;

    /**
     * 门诊费用分类
     */
    @ExcelProperty(value = "门诊费用分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "outp_rcpt_fee_dict")
    private String classOnRcpt;

    /**
     * 住院费用分类
     */
    @ExcelProperty(value = "住院费用分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "inp_rcpt_fee_dict")
    private String classOnInp;

    /**
     * 核算项目分类
     */
    @ExcelProperty(value = "核算项目分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "reck_item_class_dict")
    private String classOnReckoning;

    /**
     * 会计科目
     */
    @ExcelProperty(value = "会计科目", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "tally_subject_dict")
    private String subjCode;

    /**
     * 病案首页分类
     */
    @ExcelProperty(value = "病案首页分类", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "mr_fee_class_dict")
    private String classOnMr;

    /**
     * 是否最新价格
     */
    @ExcelProperty(value = "是否最新价格")
    private String isNer;

    /**
     * 价表ID
     */
    @ExcelProperty(value = "价表ID")
    private String priceId;

    /**
     * 开始时间
     */
    @ExcelProperty(value = "开始时间")
    private Date startDate;

    /**
     * 停止时间
     */
    @ExcelProperty(value = "停止时间")
    private Date stopDate;

    /**
     * 拼音码
     */
    @ExcelProperty(value = "拼音码")
    private String inputCode;

    /**
     * 操作类型0-新增；1-修改；2-调价；3停价；4-其他
     */
    @ExcelProperty(value = "操作类型0-新增；1-修改；2-调价；3停价；4-其他", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "price_operation_type")
    private String operationType;

    /**
     * 机构ID
     */
    @ExcelProperty(value = "机构ID")
    private String orgId;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remark;

    /**
     * 医保对照项目代码
     */
    @ExcelProperty(value = "医保对照项目代码")
    private String itemCodeYbCompare;

    /**
     * 操作时间
     */
    @ExcelProperty(value = "操作时间")
    private Date createTime;

    /**
     * 操作人
     */
    @ExcelProperty(value = "操作人")
    private String createBy;

    /**
     * 是否最新价格 0是 1否
     */
    private String inNer;
}
